package com.example.compreshensiveshop.service;

import com.example.compreshensiveshop.dto.OrderCreateDTO;
import com.example.compreshensiveshop.vo.*;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * Orders Service Interface
 */
public interface OrdersService {

    OrderNumberVO getOrderNumber(Long customerId);

    OrderCreateVO addOrder(OrderCreateDTO orderCreateDTO);

    PageInfo<OrderCustomerVO> getCustomerOrder(Integer page, Integer size, Long customerId, Integer status);

    PageInfo<OrderSellerList> getSellerOrder(Integer pageNum, Integer pageSize, Long sellerId, Integer status, String keyword, Integer itemStatus);

    List<Long> queryTimeoutOrders();

    void closeOrder(Long orderId);

    OrderCustomerVO queryOrderMessage(Long orderId);

    List<DailySalesVO> queryDailySales(Long sellerId, Integer year, Integer month);

    List<MonthlySalesVO> queryMonthLySales(Long sellerId, Integer year);


    void updateOrderStatus(Long orderId, Integer status);

    void deliverOrder(Long orderId,Long ItemId);
}